<?php
/**
 * @TABLE "group_member"
 * @JOIN_FROM "group_id < group.id"
 * @JOIN_FROM "user_id < user.id"
 * @JOIN_FROM "user_id_invitation < user.id"
 */
class BaseGroupMember extends Abstract_PluginEntityManager_Entity
{
	/**
	 * @PRIMARY
	 * @COLUMN "id"
	 * @TYPE "int"
	 * @LENGTH "10"
	 * @NOT_NULL
	 * @AUTO_INCREMENT
	 */
	public $id;

	/**
	 * @COLUMN "user_id"
	 * @TYPE "int"
	 * @LENGTH "10"
	 * @NOT_NULL
	 */
	public $user_id;

	/**
	 * @COLUMN "group_id"
	 * @TYPE "int"
	 * @LENGTH "10"
	 * @NOT_NULL
	 */
	public $group_id;

	/**
	 * @COLUMN "user_id_invitation"
	 * @TYPE "int"
	 * @LENGTH "10"
	 */
	public $user_id_invitation;

	/**
	 * @COLUMN "type"
	 * @TYPE "enum"
	 * @LENGTH "'member','admin'"
	 * @NOT_NULL
	 * @DEFAULT "member"
	 */
	public $type;

	/**
	 * @COLUMN "status"
	 * @TYPE "enum"
	 * @LENGTH "'pending','active','banned','refused','unjoin'"
	 * @NOT_NULL
	 * @DEFAULT "pending"
	 */
	public $status;

	/**
	 * @COLUMN "method"
	 * @TYPE "enum"
	 * @LENGTH "'request','invitation','owner'"
	 * @NOT_NULL
	 */
	public $method;

	/**
	 * @COLUMN "date_added"
	 * @TYPE "timestamp"
	 * @NOT_NULL
	 * @DEFAULT "CURRENT_TIMESTAMP"
	 */
	public $date_added;

	/**
	 * @COLUMN "date_response"
	 * @TYPE "timestamp"
	 */
	public $date_response;
}
?>